# import random
# import time
# import uuid
#
# import requests
# from alicebot import Plugin
# from langserve import RemoteRunnable
#
#
# class InvokeAPIPlugin(Plugin):
#     async def handle(self) -> None:
#         await self.event.reply("正在思考，请稍等...")
#         user_input = str(self.event.message)
#         user_id = str(self.event.user_id)
#         print(user_input)
#         # agent_run = RemoteRunnable("http://localhost:8000/", cookies={'user_id': user_id})
#         try:
#             # first_response = requests.post('http://localhost:8000/my_ai/invoke', json={"user_input": user_input}).json()['data']['content']
#             response = requests.post('http://localhost:8000/my_ai/retriever_invoke', json={"user_input": user_input})
#             response = response.json()['data']['content']
#             print(response)
#         # try:
#         #     response = agent_run.invoke({"input": user_input}, {
#         #         'configurable': {'conversation_id': str(uuid.uuid4())}})
#         except:
#             responses = [
#                 "我推荐给你一部经典的动作电影《碟中谍》系列。这个系列以汤姆·克鲁斯饰演的特工伊桑·亨特为主角，充满了刺激的动作场面、精彩的剧情和惊险的悬念，绝对能让你感受到一场视觉与心理上的双重冲击！希望你会喜欢这部电影哦",
#                 "我为您推荐一部动作片《间谍特工2017》。这部电影是一部印度电影，涵盖了动作、间谍、犯罪、特工等元素，是一部值得一看的影片。",
#                 "喜剧电影：《喜剧！》，这部电影是一部法语剧情片，于1987年上映，由雅克·杜瓦隆导演，主演包括简·伯金和阿兰·苏雄。您可以尝试观看这部具有幽默氛围的电影，带给您欢乐和轻松的观影体验。",
#                 # 更多的响应...
#             ]
#
#             response = random.choice(responses)
#             if ('推荐' in user_input):
#                 response = '我为您推荐一部动作片：2020的《亡命逃杀》这部电影的演员包括阿克谢·库玛尔、马诺杰·巴杰帕伊等。希望您会喜欢这部电影！'
#             elif ('喜剧' in user_input):
#                 response = '我为您推荐一部喜剧片：2019年上映的美国电影，类型包括喜剧、动作、科幻，属于好莱坞电影。希望您会喜欢这部电影！'
#             elif ('主演' in user_input):
#                 response = '这部电影的主演是汤姆·赫兰德。'
#             time.sleep(3)
#             # response = "我为您推荐一部动作片：2017年上映的印度电影，类型包括动作、间谍、犯罪、特工，属于宝莱坞电影。这部电影的演员包括阿克谢·库玛尔、马诺杰·巴杰帕伊等。希望您会喜欢这部电影！"
#         await self.event.reply(response)
#
#     async def rule(self) -> bool:
#         if self.event.adapter.name != "cqhttp":
#             return False
#         if self.event.type != "message":
#             return False
#         return self.event.message
import random
import uuid

import requests
from alicebot import Plugin
from langserve import RemoteRunnable


class InvokeAPIPlugin(Plugin):
    async def handle(self) -> None:
        await self.event.reply("正在思考，请稍等...")
        user_input = str(self.event.message)
        user_id = str(self.event.user_id)
        print(user_input)
        # agent_run = RemoteRunnable("http://localhost:8000/", cookies={'user_id': user_id})
        # first_response = requests.post('http://localhost:8000/my_ai/invoke', json={"user_input": user_input}).json()['data']['content']
        response = requests.post('http://localhost:8000/my_ai/retriever_invoke', json={"user_input": user_input})
        response = response.json()['data']['content']
        print(response)
        await self.event.reply(response)

    async def rule(self) -> bool:
        if self.event.adapter.name != "cqhttp":
            return False
        if self.event.type != "message":
            return False
        return self.event.message
